nfandomcom-20200216-history
NUMA hacking
NUMA hacking is the technique of manipulating NUMA map listings by modifying their URLs. Because NUMA already processes tag searches and map listing navigation through the use of query strings (a component of almost all NUMA map listing URLs), NUMA hacking provides the functionality of both tag searches and listing navigation in addition to its own unique features. Method All NUMA map listing URLs have the following structure: : http://nmaps.net/browsefunction?querystring&querystring&... The query strings determine what maps will be in the listing and their order, and what part of that listing will be viewed. The browse function determines how the viewed part of the list will be displayed. Browse function The browse function must be one of the following: * browse - Dislpays a NUMA listing of the indicated maps. * userlevels - Displays a plain text list of the map data of the indicated maps. Query strings Query strings take the form "field=variable". All currently accepted query strings include: * count=# ** Displays # maps per page. ** Defaults to "count=10" if absent from URL. ** Setting "count" to a number greater than 45 may produce truncated results. * start=# ** Skips # maps and displays the map listing from (#+1)th map onward. ** Defaults to "start=0" if absent from URL. ** Example: http://nmaps.net/browse will display the 10 most recently submitted maps, since "count" defaults to 10, "start" defaults to 0, and no tags are indicated. Note that if no query strings are present, the "?" can be omitted. Also note that map listings always proceed from most recent to least recent. * q=tag+tag+tag+... ** Only includes maps with the given tags. To exclude maps with a certain tag, add "-" right in front of the tag. *** For example, http://nmaps.net/browse?q=jumper+-mine-jumper will yield jumper maps that don't have the tag "mine-jumper". Note the distinction between "+-" and "-". ** See NUMA tag system for a list of useful tags. Please note that title tags are currently not searchable. ** All tags of interest must be included in a single query string. If two or more tag-related query strings are present, all but the last will be ignored. * random=anything ** Randomizes the order of maps in the map listing ** Can be glitchy if the map listing itself contains less than the number of maps "count" is set to. In such cases, sometimes one or more (and occasionally all) maps in the listing will not be displayed. *** For example, only 5 maps in all of NUMA have the tag "silly": http://nmaps.net/userlevels?q=silly. However, try loading http://nmaps.net/userlevels?q=silly&random=y several times. Note that the glitch does not occur with a listing such as http://nmaps.net/userlevels?random=notrandom&count=5, which will always display 5 (random) maps. ** The variable can literally be anything as long as it doesn't contain ^ or %. All of the following will display a NUMA listing of 10 random maps: *** http://nmaps.net/browse?random=true *** http://nmaps.net/browse?random=@ *** http://nmaps.net/browse?random=HOLY_COW!!!zlqa8491~$*# *** http://nmaps.net/browse?random=false * ifl=anything ** Navigates directly to a random map in the listing, thereby negating any use of "count", "start", or "random". ** The variable can literally be anything as long as it doesn't contain ^ or %. ** Browse function defaults to "browse". *** For example, both http://nmaps.net/userlevels?ifl=y and http://nmaps.net/browse?ifl=y will take you directly to a random map on NUMA. One final note: if a query string is mistyped or involves an invalid variable, that particular query string will be ignored. Examples Below are a few comprehensive examples: * http://nmaps.net/userlevels?q=author:epigone&count=50 - Displays the map data for epigone's 50 most recent maps. * http://nmaps.net/browse?q=unrated&random=8 - Displays 10 random unrated action maps. * http://nmaps.net/browse?q=featured+action&ifl=anything_but_ifl - Navigates directly to a random featured map. * http://nmaps.net/browse?q=author:evil_bob+favorites:astheoceansblue - Displays the 10 most recent maps of Evil_Bob's that were favorited by astheoceansblue. Discontinued query strings When NUMA received its most recent facelift, the use of the following query strings was discontinued: * order=asc/desc ** Displays the maps in ascending or descending order. ** Defaults to "order=desc" if absent from URL. * sort=created/lastupdated/rating/votes/random ** Sorts the map listing by date created, by date last updated, by rating, by number of votes, or randomly. ** Defaults to "sort=created" if absent from URL. Given their obvious usefulness, their removal was met with criticism from many members of the N community. In response, Arachnid stated that several features were cut because they were "little-used" and were "difficult or impossible to implement in the new architecture", citing "sort" and "order" in particular since "there was never a UI for them in the first place." http://metanet.2.forumer.com/index.php?showtopic=22703&st=90&#entry478920 Category:NUMA